#ifndef __PRODUCT_MANAGE_H__
#define __PRODUCT_MANAGE_H__
#include "public.h"
#include "matrl.h"
#include "vector.h" //顺序表
#define PRODUCT_DATA_FILE "./file_data/Product_inf.dat"

#define PRODUCT_PROJECT_NUM 4

extern char product_gfind_v[][30];                               // 放入选项
extern char product_gscanf_matrl[][15];                          // 放入选项
extern int (*product_func_array[4])(const void *dast, const void *str, size_t mod); // 函数数组

// 查询函数，mod = 1精确，= 0 模糊
void *product_find_data(vector v, void *data, int (*v_find)(const void *, const void *, size_t mod), size_t mod);
int product_find_dast_ID(const void *dast, const void *str, size_t mod);   // func_array[0]
int product_find_dast_name(const void *dast, const void *str, size_t mod); // func_array[1]
int product_find_dast_size(const void *dast, const void *str, size_t mod); // func_array[2]

void product_Vector_Find_Init(void); // 存入函数数组(启动)
void product_show_inf(union elem_vector *data);
void product_Update_data(vector v);

// void Vector_Add(vector v);
void product_Vector_Find(vector v);
void product_Vector_Del(vector v);
void product_Vector_Add(vector v);
void product_Vector_Upd(vector v);
// void Product_upd(void);

#endif